where
F : Functor<F>
Free monad makes any functor into a monad
type | F | Functor type |
type | A | Bound value type |
record Pure <F, A> (A Value) Source #
where
F : Functor<F>
Terminal case for the free monad
type | F | Functor type |
type | A | Bound value type |
param | Value | Terminal value |
record Bind <F, A> (K<F, Free<F, A>> Value) Source #
where
F : Functor<F>
Monadic bind case for the free monad
type | F | Functor type |
type | A | Bound value type |
param | Value | Functor that yields a |